/**   
 * Copyright © 2021 eSunny Info. Tech Ltd. All rights reserved.
 * 
 * 功能描述：
 * @Package: com.yl.staff.dao 
 * @author: Bai   
 * @date: 2021年1月22日 下午2:49:53 
 */
package com.yl.staff.dao;

import java.util.List;

import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;

import com.yl.staff.model.BeanSalaryMessage;

/**   
* Copyright: Copyright (c) 2021 云邻信息科技
* 
* @ClassName: MapSalaryMessage.java
* @Description: 表 salary-message 数据接口
*
* @version: v1.0.0
* @author: Bai
* @date: 2021年1月22日 下午2:49:53 
*
* Modification History:<br>
* Date         Author          Version            Description
*---------------------------------------------------------*<br>
* 2021年1月22日     Bai           v1.0.0               新建 <br>
*/
/*
 * 功能列表：
* 	Date         Author          Method            				 Description
*	---------------------------------------------------------------------*<br>
*	2021年1月22日     Bai            selectAll()        				                                查找所有基本工资信息
* 	2021年1月22日     Bai            selectById(int id); 				                                根据数据编号查找基本工资信息
* 	2021年1月22日     Bai            selectByStaffCode(String staffCode)         根据员工编号查找基本工资信息
*   2021年1月22日     Bai            selectByWage(double wageBase)               根据工资发放基数查询基本工资信息
*   2021年1月22日     Bai            insertInto(BeanSalaryMessage bsm);          添加基本工资信息
*   2021年1月22日     Bai            updateSalary(BeanSalaryMessage bsm);        根据id更新基本工资信息
* 
 * */
@Mapper
public interface MapSalaryMessage {
	/**
	 * 
	* @Function: MapSalaryMessage.java
	* @Description: 查找所有基本工资信息
	*
	* @param: 无
	* @return：List<BeanSalaryMessage> 工资信息集合 OR []空集合
	* @throws：异常描述
	*
	* @version: v1.0.0
	* @author: Bai
	* @date: 2021年1月22日 下午9:32:01 
	*
	* Modification History:<br>
	* Date         Author          Version            Description
	*---------------------------------------------------------*<br>
	* 2021年1月22日     Bai             v1.0.0                                   新建 <br>
	 */
	@Select("SELECT `id`,`staff_code`,`salary_amount`,`wage_base`,`social_security_withholding` FROM `salary-message` ORDER BY id DESC;")
	public List<BeanSalaryMessage> selectAll();
	/**
	 * 
	* @Function: MapSalaryMessage.java
	* @Description: 根据数据编号查找基本工资信息
	*
	* @param: int 数据编号
	* @return：BeanSalaryMessage 基本工资数据编号
	* @throws：异常描述
	*
	* @version: v1.0.0
	* @author: Bai
	* @date: 2021年1月22日 下午9:43:24 
	*
	* Modification History:<br>
	* Date         Author          Version            Description
	*---------------------------------------------------------*<br>
	* 2021年1月22日     Bai             v1.0.0                                   新建 <br>
	 */
	@Select("SELECT `id`,`staff_code`,`salary_amount`,`wage_base`,`social_security_withholding` FROM `salary-message` WHERE id=#{id};")
	public BeanSalaryMessage selectById(int id);
	/**
	 * 
	* @Function: MapSalaryMessage.java
	* @Description: 根据员工编号查找基本工资信息
	*
	* @param:String 员工编号
	* @return：BeanSalaryMessage 基本工资信息实体
	* @throws：异常描述
	*
	* @version: v1.0.0
	* @author: Bai
	* @date: 2021年1月22日 下午9:45:14 
	*
	* Modification History:<br>
	* Date         Author          Version            Description
	*---------------------------------------------------------*<br>
	* 2021年1月22日     Bai             v1.0.0                                    新建<br>
	 */
	@Select("SELECT `id`,`staff_code`,`salary_amount`,`wage_base`,`social_security_withholding` FROM `salary-message` WHERE `staff_code`=#{staffCode} ORDER BY id DESC;")
	public BeanSalaryMessage selectByStaffCode(String staffCode);
	/**
	 * 
	* @Function: MapSalaryMessage.java
	* @Description: 根据工资发放基数查询基本工资信息
	*
	* @param: double 工资发放技术
	* @return：List<BeanSalaryMessage> 基本工资数据集合 OR []空集合
	* @throws：异常描述
	*
	* @version: v1.0.0
	* @author: Bai
	* @date: 2021年1月22日 下午10:05:11 
	*
	* Modification History:<br>
	* Date         Author          Version            Description
	*---------------------------------------------------------*<br>
	* 2021年1月22日     Bai             v1.0.0                                    新建<br>
	 */
	@Select("SELECT `id`,`staff_code`,`salary_amount`,`wage_base`,`social_security_withholding` FROM `salary-message` WHERE `wage_base`=#{wageBase} ORDER BY id DESC;")
	public List<BeanSalaryMessage> selectByWage(double wageBase);
	/**
	 * 
	* @Function: MapSalaryMessage.java
	* @Description: 添加工资基本信息
	*
	* @param:BeanSalaryMessage 工资进本信息实体
	* @return： boolean true OR false
	* @throws：异常描述
	*
	* @version: v1.0.0
	* @author: Bai
	* @date: 2021年1月22日 下午10:14:29 
	*
	* Modification History:<br>
	* Date         Author          Version            Description
	*---------------------------------------------------------*<br>
	* 2021年1月22日     Bai             v1.0.0                                   新建<br>
	 */
	@Insert("INSERT INTO `salary-message` (`staff_code`,`salary_amount`,`wage_base`,`social_security_withholding`) VALUES (#{staffCode},#{salaryAmount},#{wageBase},#{socialSecurityWithholding});")
	public boolean insertInto(BeanSalaryMessage bsm);
	/**
	 * 
	* @Function: MapSalaryMessage.java
	* @Description: 根据id更新基本工资信息
	*
	* @param:BeanSalaryMessage 基本工资实体
	* @return： boolean true OR false
	* @throws：异常描述
	*
	* @version: v1.0.0
	* @author: Bai
	* @date: 2021年1月22日 下午10:22:00 
	*
	* Modification History:<br>
	* Date         Author          Version            Description
	*---------------------------------------------------------*<br>
	* 2021年1月22日     Bai             v1.0.0                                   新建 <br>
	 */
	@Update("UPDATE `salary-message` SET `salary_amount` = #{salaryAmount},`wage_base` = #{wageBase},`social_security_withholding` = #{socialSecurityWithholding} WHERE `id` = #{id};")
	public boolean updateSalary(BeanSalaryMessage bsm);
	
}